package com.lzzy;
// 泛型方法-2
import chapter13.Circle;
import chapter13.GeometricObject;
import chapter13.Rectangle;

public class BoundedTypeDemo {
    public static void main(String[] args) {
        Rectangle rectangle = new Rectangle(2, 2);
        Circle circle = new Circle(2);

        System.out.println(" Same area? " + equalArea(rectangle, circle));

        Ellipse ellipse = new Ellipse(2.3,2.4);

        System.out.println("Same Perimeter?" + equalPerimeter(rectangle, circle));
        System.out.println("Same Ellipse?" + equalArea(rectangle, circle));
        System.out.println("Same Ellipse?" + equalPerimeter(rectangle, circle));

    }
    public static <E extends GeometricObject> boolean equalPerimeter(E object1, E object2){
        return object1.getArea() == object2.getArea();
    }

    public static <E extends GeometricObject> boolean equalArea(E object1, E object2) {
        return object1.getArea() == object2.getArea();
    }
}
